Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ------------------------------------------------------------------------ */
- // ISR function to read the analog pins.
- /* ------------------------------------------------------------------------ */
- ISR(ADC_vect)
- {
- BITS_CLEAR(ADCSRA, ADSC);
- uint8_t adc_low = ADCL;
- // read adc1, and set next channel as adc2
- if (adc_i == 1) {
- adc_i++;
- adc_1_value = ((ADCH <<8) | adc_low);
- // MUX:0010 -> ADC2
- BITS_CLEAR(ADMUX, MUX0);
- BITS_SET(ADMUX, MUX1);
- }
- else if (adc_i == 2) {
- adc_i++;
- adc_2_value = ((ADCH <<8) | adc_low);
- // MUX:0011 -> ADC3
- BITS_SET(ADMUX, MUX0);
- // read adc3, and set next channel as adc1
- }
- else if (adc_i == 3) {
- adc_i = 1;
- adc_3_value = ((ADCH <<8) | adc_low);
- // MUX:0001 -> ADC1
- BITS_CLEAR(ADMUX, MUX1);
- }
- // start the adc measurements
- BITS_SET(ADCSRA, ADSC);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement